草庐IT

XQuery FLWOR 表达式

全部标签

Javascript 正则表达式 : How to get `1` and not `11`

如果我这样做:varstring="7,11,2"varcheck=string.match("/1/");if(check!=null){doSomething();}else{doSomethingElse();}然后check不是null因为match找到了1在11.那么我应该如何避免这种情况并获得1什么时候真正出现? 最佳答案 发生这种情况是因为它匹配11中的1并将其称为匹配项。您必须确保1之后没有其他数字。尝试:varcheck=string.match("/(^|\D)1(\D|$)/");这将寻找一种被非数字字符或字符

javascript - 使用正则表达式仅用 JS 替换模式的最后一次出现

我有一个案例,我试图用另一种模式替换某种模式。我的问题是我只需要替换该模式的最后一次出现,而不是全部。我发现了这个问题:Howtoreplacelastoccurrenceofcharactersinastringusingjavascript但它不符合我的需求。作为背景,我会说我正在尝试替换CSS规则,但对于当前示例,让我们看一下这段文字:abcd:bka:bbb:aad:accx:aaa:bbb:a0d:cczc:aaa:假设我只想替换bbb的值。我目前的规则是text.replace(/(\s*bbb:)([^:]+)/,"$1aaa")但它只会替换第一个匹配项,而我希望它替换最

javascript - 用于替换单个反斜杠的正则表达式,不包括后跟某些字符的反斜杠

我有一个正则表达式,如果后面没有以下字符之一:\/或},它会从字符串中删除任何反斜杠。它应该把这个字符串:foo\bar\\batz\/hi进入这个:foobar\\batz\/hi但问题是它在处理每个反斜杠的过程中。所以它遵循的规则是删除第一个反斜杠,并忽略第二个反斜杠,因为它后面跟着另一个反斜杠。但是当它到达第3个时,它会将其删除,因为它后面没有另一个。我当前的代码如下所示:str.replace(/\\(?!\\|\/|\})/g,"")但是生成的字符串看起来像这样:foobar\batz\/hi如何让它跳过第三个反斜杠?或者是在做某种明确的否定搜索和替换类型的事情?例如。替换“

javascript - 正则表达式替换列表中的 0 但不是 10、20、30 等中的 0 - 使用 js 替换

我正在尝试创建一个正则表达式来用空值替换列表中的零,但不替换十、二十、三十等中的零。list=0,1,0,20,0,0,1,,1,3,10,30,0desiredlist=,1,,20,,,1,,1,3,10,30,在javascript替换函数中使用它感谢任何帮助/提示! 最佳答案 使用wordboundaries应该很简单,\b0\b:s=s.replace(/\b0\b/g,'');工作示例:http://jsbin.com/ipuru4 关于javascript-正则表达式替换列

javascript - 如何在 Javascript 中对正则表达式反向引用匹配执行操作?

在javascript中,我有一个包含数字的字符串,我想将值递增1。例子:varstring="Thisisastringwithnumbers12345678910";vardesiredResult="Thisisastringwithnumbers234567891011";使用正则表达式,是否可以对匹配的反向引用执行操作(在本例中为加法)?A找到了一个类似的question使用ruby:string.gsub(/(\d+)/){"#{$1.to_i+1}"} 最佳答案 使用string.replace以函数作为第二个参数:v

javascript - 正则表达式 - 如何排除 "%"和 "_"?

我允许在我的html文本框中使用数字、字母和特殊字符,但%和_除外。我有模式/[a-zA-Z0-9!@#$^&*()-+=]/。我认为这不是最好的方法,因为我必须列出除上述两个之外的所有特殊字符。有没有一种方法我不必列出所有特殊字符并且不包括提到的两个字符?顺便说一句,我正在使用javascript正则表达式。有关演示,请参阅http://jsfiddle.net/ce8Th/请帮忙。 最佳答案 不需要那个复杂的循环。只需在整个字符串上直接调用replace即可:$(this).val(function(i,v){returnv.r

javascript array - 什么是真正的表达?

创建3个未定义的空数组。vara1=[,,,];vara2=newArray(3);来自JavaScript:权威指南,0ina1//true0ina2//false但是,在现实世界的浏览器中,得到不同的结果。(IE8和Chrome33...)0ina1//false0ina2//false哪个是真实的,书本还是现实世界? 最佳答案 看来这本书是错的。从specification可以看出,[,,,]不向数组添加任何值:TheproductionArrayLiteral:[Elisionopt]isevaluatedasfollows

javascript - 如何限制正则表达式捕获组?

我不知道如何限制捕获组。如果我有这样的正则表达式:/^(\w{2,}\s\w{2,}){4,15}$/我认为这会捕获任何字符串:准确的两个词,每个单词至少有2个字符,整个字符串不超过15个字符。但是我的捕获组限制不起作用。我可以完全限制捕获组吗?附言。我正在使用JavaScript来测试示例中的正则表达式。 最佳答案 这个基于前瞻性的正则表达式应该适合你:/^(?=.{4,15}$)\w{2,}\s\w{2,}$/WorkingDemo你的正则表达式:^(\w{2,}\s\w{2,}){4,15}$基本上意味着应该有4到15个字符串

javascript - 模块模式中的函数声明与函数表达式

我刚刚了解了函数声明和函数表达式之间的区别。这让我想知道我是否在我的AngularJS代码中做正确的事情。我正在遵循JohnPapa使用的模式,但现在它似乎与模块模式的典型JS方法不一致。JohnPapa在他的Controller和服务中大量使用嵌套函数声明。这不好吗?是否有任何理由支持这一点:varfoo=(function(){varbar=function(){/*dostuff*/};return{bar:bar};}());foo.bar();关于这个:varfoo=(function(){return{bar:bar};functionbar(){/*dostuff*/};

javascript - 使用正则表达式匹配 javascript 中的国际/unicode 字母数字字符?

这个问题在这里已经有了答案:HowcanIuseUnicode-awareregularexpressionsinJavaScript?(11个答案)关闭8年前。我正在尝试使用Javascript的string.match()函数完成一项相当简单的任务:从字符串中提取所有单词,然后计算每个单词出现的次数。正则表达式:/\w+/g除了无法处理任何类型的unicode/国际字符之外,对于此任务工作正常。能够匹配重音字符、西里尔字母和任何其他主要字母的最佳/最干净的方法是什么?如果它碰巧很重要,我目前正在Node.js环境中编码。